/****************************************************************************
 *
 *   Copyright (c) 2020-2022 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.47165, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.66364, 0.39371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.6755, 0.38793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.55595, 0.38311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.34805, 0.3791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.09218, 0.37575 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.82688, 0.37295 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.58646, 0.3706 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.39572, 0.36862 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.26343, 0.36694 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.17694, 0.36551 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.09958, 0.36432 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.97156, 0.36337 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71435, 0.36272 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.23766, 0.36245 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.44857, 0.36269 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.26168, 0.36359 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.60967, 0.3653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.45307, 0.36798 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.78855, 0.37175 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.65505, 0.3767 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.13661, 0.38288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.35982, 0.39029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.4841, 0.39893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.68397, 0.40878 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.87423, 0.41985 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.05602, 0.43215 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77712, 0.4456 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.01268, 0.46003 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.7968, 0.47509 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.21434, 0.49019 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.38879, 0.50453 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.46933, 0.51707 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.61834, 0.5267 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.9969, 0.53234 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.74509, 0.5332 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.95771, 0.529 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.66297, 0.52007 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.81458, 0.5073 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.30325, 0.49199 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.98321, 0.47557 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.70234, 0.4594 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.32483, 0.44451 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.74156, 0.43166 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.8701, 0.42127 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.64882, 0.41353 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.02984, 0.4085 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.97285, 0.40617 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.44048, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.39408, 0.40962 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.78876, 0.41553 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.56692, 0.42445 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.65058, 0.4367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.93487, 0.45262 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.28738, 0.47245 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.56001, 0.49604 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.62253, 0.52237 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.42423, 0.54908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.07474, 0.57233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.9017, 0.58769 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.41994, 0.59196 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.19365, 0.58486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.32701, 0.56883 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.8885, 0.54754 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.41591, 0.52431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.94862, 0.50144 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.58073, 0.48026 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.42404, 0.46137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.59039, 0.44492 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.18527, 0.43085 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.30618, 0.41895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.04194, 0.40897 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.47165, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.5158, 0.37421 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.81918, 0.37032 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.95041, 0.36707 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.94913, 0.36438 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.84899, 0.36217 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.68235, 0.36038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.48383, 0.35896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.28987, 0.35788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.13388, 0.35711 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.03883, 0.35664 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.00977, 0.35643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02827, 0.3565 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04922, 0.35684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00032, 0.35748 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.7846, 0.35846 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.28754, 0.35988 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.38938, 0.36188 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.98148, 0.36465 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 20.98404, 0.36838 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.36237, 0.37326 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.13983, 0.3794 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.40573, 0.38684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.31485, 0.39555 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.07457, 0.40548 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.08246, 0.41663 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.9353, 0.42906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.31089, 0.44291 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.10816, 0.45829 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.30445, 0.47525 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.94562, 0.49363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.12616, 0.51303 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.96891, 0.5327 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.61319, 0.55148 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.21478, 0.56776 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.95001, 0.57959 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.0078, 0.58508 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.55696, 0.58295 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.69611, 0.57304 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.41468, 0.55642 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.59179, 0.53514 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -33.03518, 0.51166 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.53571, 0.48831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.90986, 0.46685 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.01724, 0.44843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.75781, 0.43356 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.0598, 0.42239 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.86755, 0.41479 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.13326, 0.41053 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.81257, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.86189, 0.41092 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.23556, 0.41506 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88219, 0.42152 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.74299, 0.43002 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.75826, 0.44011 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.88887, 0.45108 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.15372, 0.46176 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.67017, 0.47069 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.66806, 0.47643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.45234, 0.47814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.32455, 0.47588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.51153, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.14183, 0.46269 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.73269, 0.45366 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.10068, 0.44397 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.9648, 0.43406 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.33077, 0.42426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.20653, 0.41485 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.60482, 0.40602 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.5462, 0.39793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.0615, 0.39068 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.19286, 0.38433 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.99206, 0.37885 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.5158, 0.37421 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.69004, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.03213, 0.35273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.22029, 0.35107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.28796, 0.34975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.2588, 0.34873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.15304, 0.34796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.99444, 0.34746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.81302, 0.34721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.64219, 0.34722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.5121, 0.34753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.44209, 0.34813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43397, 0.34906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.46545, 0.35032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.48337, 0.35191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.39845, 0.35385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.08627, 0.35617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.39871, 0.35902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.18598, 0.36257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.32432, 0.36707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.74297, 0.37272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.4462, 0.37964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.5277, 0.38786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.17243, 0.39725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.36117, 0.40771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.78211, 0.41921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.82188, 0.43188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.28432, 0.446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.07276, 0.46188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.18847, 0.47978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.70542, 0.49978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.73293, 0.5218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.38167, 0.54545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.74931, 0.56989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.93512, 0.59349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.07564, 0.6137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.37209, 0.6273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.07154, 0.63125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.38887, 0.62394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.41049, 0.60593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.04929, 0.57982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.08312, 0.54933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.24191, 0.51821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.28382, 0.48936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.02811, 0.46452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.35109, 0.44446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.16728, 0.42923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.41234, 0.41847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.03411, 0.41166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.99021, 0.40821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.24843, 0.40748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.78621, 0.40888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.58908, 0.41177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.65334, 0.41548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.00073, 0.41923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.70718, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.93106, 0.42345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.91173, 0.42257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.91959, 0.41957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.17825, 0.41501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.80898, 0.40968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.82878, 0.40423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.80882, 0.39902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.16349, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.27409, 0.38944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.14881, 0.38487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.77259, 0.38037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.11995, 0.37592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.16529, 0.37159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.88949, 0.36748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.28538, 0.36367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.36269, 0.36026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.14983, 0.35729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.69004, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.62293, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.96038, 0.33913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.16546, 0.33849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.27037, 0.33808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.29167, 0.33787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.23733, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.11693, 0.33798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.94818, 0.33831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.75688, 0.33886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57229, 0.33966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42141, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.32307, 0.34222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.27948, 0.34401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.26337, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.2033, 0.34863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.97556, 0.35145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.41229, 0.35473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.32837, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.55999, 0.36349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.00381, 0.36943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.64896, 0.37661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.59773, 0.38495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.06811, 0.39426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.63226, 0.40437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.16392, 0.41525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.22875, 0.42713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.6293, 0.44042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.2929, 0.45556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.25813, 0.47289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.63372, 0.4926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.54452, 0.51482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.08389, 0.53953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.29447, 0.56644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.19213, 0.59448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.82865, 0.62133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.36194, 0.64317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.07822, 0.65542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.31722, 0.65443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.32161, 0.63925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.11533, 0.61212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.50363, 0.57754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.17796, 0.54059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.83357, 0.50547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.23198, 0.47484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.20651, 0.44985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.64271, 0.43058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.46006, 0.41652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.60405, 0.40686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.046, 0.40071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.78357, 0.39718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.83705, 0.39543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.24248, 0.39468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.05077, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.34281, 0.39332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.25639, 0.39147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -17.99972, 0.38831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.82184, 0.38394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.94214, 0.37885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.48146, 0.37368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.44019, 0.36899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.72992, 0.36506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76799, 0.3619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14921, 0.35932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45882, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.69241, 0.35497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.81528, 0.35288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.78309, 0.35076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.55341, 0.34863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.08954, 0.34654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.3641, 0.34457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.36604, 0.34279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.10739, 0.34127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.62293, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.12115, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.42395, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.61435, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.72839, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.78008, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.76788, 0.32962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.68748, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.54187, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34445, 0.33196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.11722, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.8881, 0.33451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.68739, 0.33622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.5388, 0.33825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.441, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.34326, 0.34319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.12781, 0.34609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.61403, 0.34939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.59002, 0.35329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.86204, 0.35803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.30525, 0.36381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.90441, 0.37069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.77843, 0.37852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.82046, 0.38703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.54489, 0.39603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.02712, 0.40556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.96399, 0.41597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.17582, 0.42774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.62094, 0.44137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.37042, 0.45712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.55644, 0.47513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.3089, 0.49545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.7003, 0.51814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.72442, 0.54323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.32576, 0.57023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.47612, 0.59757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.26958, 0.62202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -20.98122, 0.63893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.02404, 0.64372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.79004, 0.63403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.46926, 0.61088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.98002, 0.57816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.04272, 0.54107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.31277, 0.50441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.47873, 0.47153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.2986, 0.44412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.59861, 0.42254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.26399, 0.40629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.23426, 0.39451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50101, 0.38619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.10053, 0.38037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.09721, 0.3762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.56406, 0.37298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.57616, 0.37011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.22896, 0.3671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.67, 0.3636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.1092, 0.35947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.77853, 0.3549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.85482, 0.35032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.39703, 0.34619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33868, 0.34283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.46635, 0.34032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.1755, 0.33857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.89962, 0.33734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.67696, 0.33638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48294, 0.33551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.26141, 0.33461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.95371, 0.33366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.5104, 0.33266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.88899, 0.33166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.05201, 0.3307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.97415, 0.32984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.65436, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.12115, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.08027, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.32662, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.47546, 0.32081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.57091, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.62925, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.64365, 0.3231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.5986, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.48305, 0.3252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29644, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.0501, 0.32782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.76813, 0.32941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.48691, 0.33122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.24611, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.06531, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.91073, 0.33798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.6696, 0.34066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.1523, 0.34369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.12951, 0.34726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.39132, 0.35162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.80714, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.37164, 0.36307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.22844, 0.36991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.3391, 0.3771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.96057, 0.38449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.26506, 0.39222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.96633, 0.40074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.91089, 0.4106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.07999, 0.42223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.55738, 0.4358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.47636, 0.45122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.95708, 0.46831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.05268, 0.4869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.73055, 0.50689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.90599, 0.52801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.52151, 0.54931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.64135, 0.56866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.51367, 0.58275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.5481, 0.58803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.18956, 0.58226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.74852, 0.56551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.29381, 0.54015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.66045, 0.50991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.5372, 0.47868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.56689, 0.44955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.41961, 0.42442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.83398, 0.40398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.63661, 0.38807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.74743, 0.37604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.17183, 0.36706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.97723, 0.36034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.25713, 0.3552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.09791, 0.35108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.5709, 0.34756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.75954, 0.34427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.80109, 0.34091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.89954, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.27964, 0.3338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.10214, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39783, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.0629, 0.32546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.08716, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.23845, 0.32323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.51173, 0.32281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.93444, 0.32258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.45838, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00426, 0.32211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.50059, 0.32178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.89567, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.1477, 0.32099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.21508, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.06209, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.67621, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.08027, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.43935, 0.31388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.6151, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.70108, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.75264, 0.31598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.79257, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.81322, 0.31817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.79152, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70469, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.53918, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.2952, 0.32373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.99103, 0.32539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.66521, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.3672, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.12937, 0.33116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.92678, 0.33331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.64691, 0.33563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.09311, 0.33826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.02822, 0.34139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.24133, 0.34522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.61277, 0.34982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.16023, 0.35506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.94371, 0.36064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.39342, 0.36625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.81558, 0.37181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.85795, 0.37755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.26291, 0.38398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.89922, 0.39165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.75404, 0.40092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.90118, 0.41186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.45592, 0.42417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.52283, 0.43738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.15066, 0.45099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.31851, 0.46462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.96889, 0.47795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.07691, 0.49043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.72219, 0.50099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.12584, 0.50805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.62786, 0.50991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.60775, 0.50535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.38126, 0.49422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.11594, 0.47755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.79189, 0.45722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.21168, 0.43547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.05155, 0.41433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.93889, 0.39527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.53436, 0.37907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.59522, 0.36591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.00484, 0.35553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.76466, 0.34746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.95457, 0.3412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.67762, 0.33629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.01568, 0.33238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.02291, 0.32918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.76245, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.35767, 0.3238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.00867, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.94305, 0.31885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32319, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.17193, 0.31495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.63527, 0.31376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.31151, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.06758, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.03313, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.22472, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.57046, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.96796, 0.31353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33361, 0.31356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.61517, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.77423, 0.31349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.76788, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.55205, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.10351, 0.31359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.43935, 0.31388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.15499, 0.30973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.2553, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.26543, 0.31126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.25424, 0.3123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.25467, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.26214, 0.3148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.2494, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18436, 0.31765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.04233, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.81382, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.51172, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.17473, 0.32406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.85642, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.59301, 0.32755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.35905, 0.32935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.037, 0.33129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.42548, 0.33352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.28948, 0.33622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.43155, 0.33954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.75691, 0.34343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.31453, 0.34769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.69622, 0.35197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.96089, 0.35598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.12157, 0.35973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.85697, 0.36352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.93769, 0.36785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.2432, 0.37323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.75075, 0.37995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51105, 0.38799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.61697, 0.39694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.16678, 0.40617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.23106, 0.41498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.84126, 0.4228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.01159, 0.4293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.78268, 0.43429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.25831, 0.43757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.61389, 0.4388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.07779, 0.43758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.90175, 0.43348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.32882, 0.42635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.5526, 0.41643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66304, 0.40442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.59682, 0.3913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.12605, 0.37808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.90577, 0.3656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.56767, 0.35444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.81879, 0.34491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.50249, 0.33702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.60128, 0.33062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.18935, 0.32548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.36342, 0.32137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.19043, 0.31812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.70253, 0.31552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.94071, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.01278, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.11346, 0.30995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.47473, 0.30848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26731, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.4829, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.90996, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.24728, 0.30578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.72611, 0.30601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.4845, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.53028, 0.30693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.7711, 0.30738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.08401, 0.30776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37421, 0.30806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.58866, 0.3083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.69205, 0.3085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.64053, 0.30869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.38222, 0.30892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.8834, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.15499, 0.30973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.18456, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.21634, 0.30829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.14908, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.06682, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.0158, 0.31164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.99792, 0.31299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.98427, 0.31441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.9349, 0.31586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.81516, 0.31733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.60749, 0.31881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.32085, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 9.99353, 0.32179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.6789, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.40942, 0.32471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.1516, 0.32618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.7799, 0.32779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.09229, 0.3297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.86583, 0.33207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.92835, 0.33494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.21896, 0.3382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.18048, 0.34156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -5.05197, 0.34466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.08682, 0.34727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.95447, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.36633, 0.35149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.11292, 0.3539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.07323, 0.35711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.20813, 0.36133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.54755, 0.36652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.17292, 0.37226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.19408, 0.37791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.72491, 0.38279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.86867, 0.38635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.72015, 0.38837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.37699, 0.38894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.94509, 0.3883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.53419, 0.38671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.25592, 0.38426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.23577, 0.38086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.62958, 0.37635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.61583, 0.37068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.34363, 0.364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.85385, 0.35664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.02301, 0.349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.5738, 0.34149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.15669, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.46285, 0.32805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.30931, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.65769, 0.31777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.56788, 0.31383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.1224, 0.31061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.36939, 0.30804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.3185, 0.30602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -4.98847, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.4691, 0.30323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.94452, 0.30225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.64574, 0.30147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.24942, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.7076, 0.30064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.8637, 0.30065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.96234, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.24891, 0.30145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.86842, 0.30211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.82347, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.00743, 0.3035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.28191, 0.30411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.54252, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.73407, 0.30513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.82204, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.76018, 0.30596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.48836, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.9619, 0.30687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.18456, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.47589, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.46023, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.32821, 0.30899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.18016, 0.31016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.07844, 0.31142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.03456, 0.31275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.01978, 0.31409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98666, 0.31542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.89034, 0.31673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.70563, 0.318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.43844, 0.31923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.12644, 0.32043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.81998, 0.32158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.54301, 0.32271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.25044, 0.32389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.80956, 0.32524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.02363, 0.32693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.69065, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.67187, 0.33158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.94372, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.38317, 0.33694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.08309, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.86459, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.42877, 0.34148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.51456, 0.34212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.92347, 0.34292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.52983, 0.34425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28364, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.20823, 0.34899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.39097, 0.35201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -18.96612, 0.35484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.09287, 0.35693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.9349, 0.3579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.64482, 0.35764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.35062, 0.35633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.14225, 0.35434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.06607, 0.352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.14023, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.39362, 0.3469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.90899, 0.34403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.16468, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.65625, 0.33708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.46027, 0.33303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.38266, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.66749, 0.32435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.08695, 0.32002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.34293, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.24413, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.73839, 0.30875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.87217, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.71396, 0.30336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.2953, 0.30135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.60652, 0.29979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.64594, 0.29862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.4834, 0.29779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.28628, 0.29723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27623, 0.29691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.36824, 0.29682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.60666, 0.29695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.56855, 0.29731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.49991, 0.29786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.65205, 0.29859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.17435, 0.29943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.06843, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.22155, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.48701, 0.30208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.75348, 0.30288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.96184, 0.30362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.07514, 0.3043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.04238, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.79412, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.27369, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.47589, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.96198, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.93585, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.76816, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.57537, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.43816, 0.31282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.38053, 0.31404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.37567, 0.31523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36851, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.3028, 0.31739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.14455, 0.31835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.89597, 0.31925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.59308, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.28152, 0.32088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.97525, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.61834, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.0753, 0.32376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.16165, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.70341, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.59957, 0.3295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.13699, 0.33183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.37357, 0.33388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.88614, 0.33531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.40631, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.66517, 0.33593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.42298, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.48903, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.73825, 0.33486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.12364, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.67914, 0.3359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.51034, 0.33687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.77541, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.66198, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.36451, 0.33767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.06163, 0.33651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.89083, 0.33472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.92525, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.16739, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.57371, 0.32829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.10754, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.20356, 0.32444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.24271, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.83853, 0.3204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.85171, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26585, 0.31573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.22501, 0.31317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -1.00986, 0.31052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.16389, 0.30787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04966, 0.30531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.60898, 0.30291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.87958, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.92088, 0.29886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.75411, 0.29728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.35681, 0.29603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.71103, 0.29511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.86663, 0.29452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.96921, 0.29422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.22243, 0.29418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.20309, 0.29438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.26349, 0.29478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.07924, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.11131, 0.2961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.05987, 0.29698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.38411, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.22556, 0.29905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.35456, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.62427, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.91985, 0.30241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17701, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.35315, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.39024, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.20848, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.73801, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.96198, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.55996, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.57634, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.41992, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.2208, 0.31454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.07844, 0.3157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.03159, 0.31678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.05736, 0.31775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09362, 0.31859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.07181, 0.31931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.94724, 0.31991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.71611, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.41068, 0.32087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.0705, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.70043, 0.3218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.23772, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.55047, 0.32349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.47324, 0.32489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.86494, 0.32668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.66356, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.08449, 0.3307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.23016, 0.33229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.55563, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.81529, 0.33324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.76607, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.18739, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.90136, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79638, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.84431, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.1016, 0.32698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.69355, 0.32652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.79009, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.58293, 0.32542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.26761, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.02415, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -5.98964, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.22893, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.72366, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.39696, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.17142, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.9657, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.9283, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.55675, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.69834, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.30041, 0.30802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45993, 0.30651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.39565, 0.30487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.6438, 0.30313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.4801, 0.30136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.05337, 0.29963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.39662, 0.298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.5657, 0.29652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.57936, 0.29524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.41076, 0.29419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.03194, 0.29343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47485, 0.29296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.8605, 0.29278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.36756, 0.29289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.15038, 0.29324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.25083, 0.2938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.55857, 0.29451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.84976, 0.29537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.88685, 0.29635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.52122, 0.29748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.25905, 0.29873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.35494, 0.30009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.62739, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.96194, 0.30295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.28873, 0.30437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.55731, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.70117, 0.30707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.62996, 0.30835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.26002, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.55996, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.17544, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.30024, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.21916, 0.31749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.06995, 0.31874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.96805, 0.31982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.96726, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.05082, 0.32146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15184, 0.322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.19031, 0.32237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.10975, 0.32261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.89749, 0.32276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.57871, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.1854, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.71515, 0.32322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.10357, 0.32371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.22888, 0.32457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.95004, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.16139, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.83923, 0.32926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.93931, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -5.01119, 0.3321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.16358, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.16888, 0.33215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.80643, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.87829, 0.3292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.23133, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.78303, 0.32509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.53639, 0.32322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.57351, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.03168, 0.32023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.07602, 0.319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.88145, 0.3178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.62443, 0.31652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.47229, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.55821, 0.31361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.94763, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.61969, 0.3106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.48599, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.55258, 0.30814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.53722, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.41005, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.02998, 0.30563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.24438, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.97958, 0.30415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.29713, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37922, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.44882, 0.30106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.32627, 0.29978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.88579, 0.29847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.25954, 0.29719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.50354, 0.29598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.64075, 0.29488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.64824, 0.29396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49528, 0.29326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19976, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.85759, 0.29269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.61802, 0.29284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.61251, 0.29325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.87542, 0.29386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.30541, 0.29463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.6968, 0.29554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.82784, 0.2966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.55415, 0.29782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.85438, 0.29922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.18919, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.45139, 0.30251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.82186, 0.3043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.22567, 0.30611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.6037, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.881, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.95818, 0.31137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.73886, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.17544, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.71449, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.01909, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.08988, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.06241, 0.32379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.06052, 0.32482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.15001, 0.32555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32178, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.50833, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.62216, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.59622, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.40694, 0.32618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.06898, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.60469, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.00582, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.21063, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.11248, 0.32716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.59793, 0.32832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.59715, 0.32976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.12319, 0.33128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.71761, 0.33256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.7468, 0.3333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.75111, 0.33331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.51467, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.83796, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.55328, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54608, 0.32632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.77595, 0.32378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.28265, 0.32136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.16983, 0.31917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.57544, 0.31724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.64602, 0.31557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.52722, 0.31408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.3669, 0.31271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.31348, 0.31139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.49482, 0.31009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -1.98202, 0.30884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.76335, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.24564, 0.30662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.1511, 0.30574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 2.01269, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.79769, 0.30447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.38774, 0.30404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.63993, 0.30367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.47096, 0.30328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.91608, 0.30279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.12538, 0.30213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.29667, 0.30129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.58627, 0.3003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.05448, 0.29924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.32518, 0.29815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.60991, 0.29708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.83074, 0.29608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.97498, 0.29521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.0158, 0.29451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.96173, 0.29406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.88506, 0.29389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.90383, 0.29401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.12233, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.56268, 0.29499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.12976, 0.29575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.6362, 0.29666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.87791, 0.29772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.71598, 0.29899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.11899, 0.3005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.14986, 0.30224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.08337, 0.30419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.47697, 0.30628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.95204, 0.30846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44124, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.86288, 0.31288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.11205, 0.31504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.08351, 0.31712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.71449, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.10307, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.65299, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.95482, 0.32779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.12945, 0.3292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29674, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52701, 0.33078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.81832, 0.33106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.10762, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.30673, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.3425, 0.33075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.18081, 0.3305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.82331, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.28052, 0.33017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.53835, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.53988, 0.33066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.19583, 0.33143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.42102, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.18022, 0.3338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.4785, 0.335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.41942, 0.33584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.44472, 0.33607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.33414, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.87849, 0.33428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.9005, 0.33233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.27051, 0.3299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.92251, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.86441, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.17147, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.96154, 0.31923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.36394, 0.31703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.49961, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.48147, 0.31352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.42717, 0.31214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.46472, 0.31092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.71516, 0.30981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.25614, 0.3088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.09055, 0.30788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.85232, 0.30707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.67439, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.44508, 0.30586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.15337, 0.30551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.70624, 0.30529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.97792, 0.30517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.88472, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.4428, 0.30481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.77301, 0.30439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.0468, 0.30374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.40643, 0.3029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.91083, 0.30194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.53741, 0.30091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.22883, 0.29988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.05445, 0.29889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31298, 0.298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.5285, 0.29726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.70459, 0.29674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.89269, 0.29649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.17989, 0.29654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.64121, 0.29684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.28271, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -3.01148, 0.29805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.65576, 0.29888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.02826, 0.29989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.99611, 0.30113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.51896, 0.30265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.64139, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.45441, 0.30654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.05446, 0.30884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.47659, 0.31129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.0646, 0.31384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62396, 0.31642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.04948, 0.31899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.23359, 0.3215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.10307, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30816, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.15103, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.75183, 0.33292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20475, 0.33443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61091, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.03398, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.47561, 0.33613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.88121, 0.33608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.16961, 0.33591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.26842, 0.33573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.13626, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.7617, 0.33554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.14186, 0.33566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.25574, 0.33601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.05071, 0.33666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.45401, 0.33762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.40678, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.90591, 0.33997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.9669, 0.34087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.045, 0.34122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.10676, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.91987, 0.33966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.27981, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.03396, 0.3354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.09514, 0.33267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.44844, 0.32979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.14775, 0.3269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.29751, 0.32414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.02257, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.43953, 0.31932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.64423, 0.31737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.72048, 0.31574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.75937, 0.31439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.86943, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.16303, 0.31236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.72201, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.43562, 0.31088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.36183, 0.31029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.14628, 0.30982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.86061, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.51162, 0.30931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.03281, 0.30929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.32128, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.30057, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.97381, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.43414, 0.30912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.82366, 0.30856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.26573, 0.30775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.81453, 0.30677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.45108, 0.3057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.12014, 0.30461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.7761, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40589, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.01754, 0.30176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.39065, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.85219, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.42477, 0.30073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.15333, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.02466, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.94334, 0.30185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.74876, 0.30253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.26799, 0.30339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.37473, 0.30449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.02283, 0.30589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.2426, 0.30763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.11127, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.71924, 0.31204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.15078, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.51498, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19189, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78009, 0.32301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17757, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30816, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.35122, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.5083, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.45059, 0.33756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.23772, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.93954, 0.34023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.6013, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.2221, 0.34105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.75658, 0.34111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.13607, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.29561, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.19159, 0.34148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.80191, 0.34192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.11061, 0.34258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.08854, 0.34352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.68509, 0.34474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.8407, 0.34618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.51901, 0.34767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.74585, 0.34892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.36434, 0.34959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.61198, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.74814, 0.34828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.52639, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.7478, 0.34367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.28661, 0.34068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.09794, 0.33756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.2129, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.72249, 0.33154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.75108, 0.32879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.4253, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.8498, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.10148, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.24331, 0.32065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.34637, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.50217, 0.31844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.81244, 0.3177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.3591, 0.31714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.82771, 0.31671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.78033, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.57149, 0.31615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.26887, 0.31604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.89272, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.40257, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.72196, 0.31652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.78754, 0.31676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.59419, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.2082, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.7384, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.28287, 0.3152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.88584, 0.31412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.53043, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.16571, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.74423, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.24413, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.66478, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.00551, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.75131, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.63551, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.66147, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.79361, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.92897, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.91317, 0.30807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.58518, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.82667, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.59052, 0.31056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.89914, 0.31205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.82123, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.4437, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.85302, 0.31855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.13122, 0.32125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.63806, 0.32411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.36498, 0.32707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.95976, 0.33003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.35122, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.30524, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.76957, 0.33962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.06135, 0.34179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.20472, 0.34349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.23248, 0.34471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.16355, 0.34552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 11.9879, 0.34606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.66631, 0.34651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.14327, 0.34703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.36433, 0.34774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.28771, 0.34871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.8841, 0.35 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.12635, 0.35161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 10.97692, 0.35355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.38476, 0.35576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.29951, 0.35808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.70301, 0.36023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.64726, 0.3618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.72074, 0.36236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.1665, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.41203, 0.35962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.19762, 0.35659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.33269, 0.35295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.71944, 0.34913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.35126, 0.34542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.2957, 0.34199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.66901, 0.3389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.60608, 0.33616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.23185, 0.33375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.64263, 0.33167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.90492, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.07072, 0.3285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.19885, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.36713, 0.32664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.66536, 0.32614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.17097, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.07862, 0.32573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.09855, 0.32572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.94313, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.67171, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.31323, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.85058, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.23427, 0.32709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.41716, 0.32745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.38919, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.19043, 0.32739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.8932, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.56423, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.232, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.87889, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.45951, 0.32192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.92896, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.2619, 0.31947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.4531, 0.31847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.50463, 0.31766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.58534, 0.31708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.81896, 0.31671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.17877, 0.31649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.60334, 0.31636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.97738, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.14862, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.96679, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.3245, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.18002, 0.31718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.5553, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.51648, 0.31959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.14977, 0.32139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.5434, 0.32353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.78025, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.06096, 0.32861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.90277, 0.33142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.67118, 0.33428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.30524, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.27189, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.0133, 0.34417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.62869, 0.34632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.11237, 0.34815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.46303, 0.34965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.6722, 0.3509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.71646, 0.35204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.55724, 0.35323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.14767, 0.35463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.4416, 0.35636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.39933, 0.35852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 13.98625, 0.36113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.1658, 0.3642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.89242, 0.36769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.1129, 0.37146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.78305, 0.37522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.90018, 0.37852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.54168, 0.38074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.11114, 0.38133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.78629, 0.37997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17629, 0.37682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.01097, 0.37237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.11177, 0.36732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.40906, 0.36227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.92883, 0.35761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.76493, 0.35352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.04792, 0.35005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.91563, 0.34714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.48939, 0.34471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.86109, 0.34271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.09456, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.23955, 0.33986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.34962, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.49254, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.74585, 0.33825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.17887, 0.33831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.16903, 0.33856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.30019, 0.33895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.25182, 0.33941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.07251, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.79486, 0.34052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.41994, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.92194, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.2693, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.44829, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.47399, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.3813, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.2022, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.94457, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.58636, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.08698, 0.33641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.40672, 0.33513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.52171, 0.334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.42735, 0.33302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.13254, 0.3322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.34598, 0.33152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.98028, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.71777, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.46685, 0.32966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.09568, 0.32889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.45193, 0.32806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.39743, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.84067, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.7526, 0.32652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.16214, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.13823, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.76846, 0.32859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.14196, 0.33015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.34049, 0.33206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.43665, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.50429, 0.33669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.42364, 0.33923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.27189, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.34455, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.31974, 0.35046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.20979, 0.3526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.98891, 0.35465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.63096, 0.35661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.10547, 0.35858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.37531, 0.36066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.39748, 0.36302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.12643, 0.36579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.5178, 0.36911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.52972, 0.37307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.12044, 0.3777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.24333, 0.38301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.84381, 0.38889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.86469, 0.39509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.26609, 0.40112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.06073, 0.40625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.35463, 0.40957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.63057, 0.41027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.58, 0.40803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.15565, 0.4032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.08063, 0.39667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.19292, 0.38948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.45174, 0.38251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.91125, 0.37627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.68399, 0.37099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.90744, 0.36668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.71787, 0.36324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.23249, 0.36052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.54156, 0.35842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.71113, 0.35685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.79409, 0.35574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.84341, 0.35508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.91983, 0.35484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.08934, 0.35497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.41101, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.07821, 0.3561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.37284, 0.35693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.49606, 0.35783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.48478, 0.35875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.37019, 0.35963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.16398, 0.36046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.85686, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.42838, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.86053, 0.36187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.14573, 0.3617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.28437, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.27431, 0.3603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.10044, 0.35926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.73202, 0.35816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.12975, 0.35712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.25838, 0.35622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.09801, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.64942, 0.35476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.93403, 0.3541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), -0.00683, 0.35336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.10873, 0.35242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.27739, 0.35117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.38535, 0.34955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.28108, 0.34759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.81281, 0.34542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.85871, 0.34326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.35001, 0.34135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.27785, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.68455, 0.33894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.64581, 0.33857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.25161, 0.33878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.59091, 0.33949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.74283, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.77393, 0.34219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.73958, 0.34404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.31333, 0.34609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.34455, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.57349, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.73784, 0.36072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.84721, 0.36297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.86562, 0.36542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.75334, 0.36812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.46645, 0.37115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.95732, 0.37463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.17594, 0.37871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.07169, 0.38354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.59415, 0.38926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.69225, 0.39599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.31135, 0.40378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.38996, 0.41261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.85983, 0.4223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.65541, 0.4324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.7386, 0.44211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.13967, 0.4502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.002, 0.45522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39882, 0.45599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.69283, 0.45217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.5073, 0.44452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.56253, 0.43456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.7195, 0.4239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.96983, 0.41378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.395, 0.40488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.12312, 0.39747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.29577, 0.39153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.04651, 0.3869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.48896, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.71316, 0.38079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.7888, 0.37896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.7733, 0.3778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.72054, 0.37724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.68589, 0.3772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.72489, 0.37763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.88594, 0.37844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.79907, 0.37952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.32095, 0.38077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.6921, 0.38208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.93762, 0.38336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.08235, 0.38454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.13982, 0.38559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.10753, 0.38646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.9693, 0.38711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.70129, 0.38752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.27716, 0.38766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.66918, 0.3876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.84583, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.76914, 0.38724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.39515, 0.38716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.67934, 0.38727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.5856, 0.38755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.09599, 0.38791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.21885, 0.38817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 2.99425, 0.3881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.4976, 0.38743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.15852, 0.38593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.82677, 0.38347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.33604, 0.38008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.51315, 0.37596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.2106, 0.37148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.33018, 0.36702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.83386, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.73994, 0.35951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.10898, 0.35684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.02594, 0.35495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.58349, 0.35383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.86952, 0.35339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.95989, 0.35355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.91614, 0.35424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.78709, 0.35537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.38761, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.57349, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.94824, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.26591, 0.37849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.54793, 0.3811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.7556, 0.38428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.8448, 0.38813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.76635, 0.39275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.46685, 0.39828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.88974, 0.40492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 16.9759, 0.41285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.66308, 0.42228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.88394, 0.43337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.56318, 0.44623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.6157, 0.46084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.9498, 0.47689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.48179, 0.4936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.16899, 0.50955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.06174, 0.52258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.35658, 0.53021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.591, 0.5306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.33204, 0.52355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.44944, 0.51068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.66624, 0.49464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.87786, 0.47799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.11741, 0.46247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.49835, 0.44899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.16614, 0.43785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.26764, 0.42894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.93508, 0.42202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.27962, 0.41678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.391, 0.41294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.34126, 0.41028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.19044, 0.4086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.99203, 0.40775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.79612, 0.40763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.64891, 0.4081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.58901, 0.40905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.35733, 0.41035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.17938, 0.41186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.88105, 0.41344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.47557, 0.41501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.97728, 0.41649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.39357, 0.41784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.71958, 0.41906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.93681, 0.42017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.01462, 0.42123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.91285, 0.42232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.58394, 0.42355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.97397, 0.42505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.02387, 0.42695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.67191, 0.42933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.85906, 0.43217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53768, 0.43533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.68326, 0.43849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.30825, 0.44116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.4754, 0.4427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.30662, 0.4425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -2.01886, 0.44011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.282, 0.43541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.2562, 0.42872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.74506, 0.42069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.61183, 0.41214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.79146, 0.40378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.28514, 0.39618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.14423, 0.38965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.451, 0.38433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.30114, 0.38019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.7903, 0.37717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -9.00511, 0.37515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.01844, 0.37401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.88846, 0.37365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.66052, 0.37398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.37102, 0.37492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.94824, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.39787, 0.40752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.84682, 0.40987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.27134, 0.41324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.63403, 0.4177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.89184, 0.42338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.99577, 0.43045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.89087, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.51611, 0.44972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.80365, 0.4625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.67688, 0.4778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.04753, 0.49597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.81229, 0.51725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.85164, 0.54166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.03563, 0.56873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.24547, 0.59709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.42083, 0.62408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.6341, 0.6456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.83815, 0.6571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.51401, 0.65554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.82474, 0.64132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.29681, 0.61811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.6705, 0.59078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.89845, 0.56343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.07299, 0.53855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.3497, 0.51723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.89668, 0.49965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.86916, 0.48556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.4, 0.47451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.59842, 0.46603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.55261, 0.45968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.33392, 0.4551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.00138, 0.45199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.60543, 0.4501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.19012, 0.44922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.79338, 0.44917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.44588, 0.44977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.16939, 0.45087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 2.02405, 0.4523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.13094, 0.45395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.15293, 0.45571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.09186, 0.45753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.94446, 0.45943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.69809, 0.46145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.32834, 0.4637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.79841, 0.46632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.05964, 0.4695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.05259, 0.47346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.70799, 0.47841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.94817, 0.48453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.68945, 0.49192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.84739, 0.5005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.34673, 0.5099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.13836, 0.51939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.22402, 0.52777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.68466, 0.53353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.70038, 0.53513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.45588, 0.53157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.46182, 0.52285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.01378, 0.51003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.88718, 0.49482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.96338, 0.47895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.22134, 0.46379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.71039, 0.4502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.52047, 0.43856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.75857, 0.42897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.53279, 0.42132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.94286, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.07502, 0.41109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.00031, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.7752, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.44403, 0.40577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -1.04259, 0.40615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.39787, 0.40752 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.5873, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.59874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.62526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.66791, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.72631, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.79838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.87924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.95997, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.02672, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.06099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.0412, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.94544, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.75504, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.45865, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.05674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.56613, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.02395, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.4899, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04543, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.78852, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.82334, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.24494, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.12148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.47824, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.28909, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.47916, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.93838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.5411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.16524, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.70576, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.08072, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.23104, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.11712, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.71583, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.02046, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.04393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.82352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.42381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.93495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.46412, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.12089, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.00006, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.16753, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.65365, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.45453, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.53924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.85921, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.35755, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.97683, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.66463, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.37658, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.0767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.73535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.3254, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.81797, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.1793, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.36996, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.3476, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.07353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.52211, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.68896, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.59274, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.26879, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.75866, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.1018, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.33169, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47568, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55621, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59233, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60062, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.5953, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.588, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.5873, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.2075, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.22842, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.25837, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.29814, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.34849, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.40923, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.47719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.54428, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.5964, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.61375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.57238, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.44674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.21375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.85891, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.3845, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.81858, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22232, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.69251, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.35643, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.35755, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.83206, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.87984, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.5379, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.7669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.45819, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.45918, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.60637, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.75333, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.78591, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.62381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.21227, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.51031, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.48226, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.09731, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.33787, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.21281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.76968, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.10009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.33459, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.62496, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.11731, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.92469, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.11001, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.68336, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.8297, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.26118, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.82475, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.44635, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.06374, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.62737, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.09741, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.4387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.61654, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.59646, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.3493, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.85954, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.13145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.06252, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78782, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38949, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.88441, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.28326, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.59401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.82467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.98488, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08658, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14385, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17182, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.39482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.39505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.39727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.40094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.40759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.42071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.44353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.47597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.51228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.53957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.53703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.4759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.32186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.04206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.61777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.83114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.42824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.40807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.95386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.19983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.19105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.86535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.0689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.59942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.25605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.87587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.34843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.60993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.62427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.3606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.77724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.81928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.43125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.57932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.27357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.58225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.63403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.60526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.69014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.06077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.83292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.05116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.69172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.9468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.35405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.81535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.2488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.59095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.79325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.81615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.62606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.26007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.78347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.23788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.61474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.91006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.12534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.26758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.3491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.01937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.98414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.94694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.90326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.85239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.79908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.75164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.71825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.70353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.70521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.71019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.69039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.60179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.39156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.01608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.4668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.7953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.12732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.65831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.62683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.26673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.74556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.10966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.26332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.99795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.05706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.20352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.26241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.13258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.77264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.17163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.31641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.16835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.65809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.70019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.22148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.19098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.6402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.67091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.45115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.19552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.12532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.41987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.18049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.07961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.04933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.20344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.42165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.60464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.67799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.58714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.28992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.96671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.94047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.72213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.37955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.98081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.57331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.33551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.84258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.27043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.60824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.85327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -64.00956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.08824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.10749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.83616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.75047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.65451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.54204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.41575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.28621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.16813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.07627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.02041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -42.99784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.98382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.3203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.78209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.75515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.52279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.27988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.06499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.74107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.04116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.65483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.30944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.8163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.07872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.07153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.80441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.28223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.47649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.31746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.70847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.55589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.80213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.4484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.56317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.28306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.80727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.37396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.21266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.48918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.2702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.13871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.98082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.91266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.82368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.28109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.84462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.54367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.07723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.53771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.01076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.54718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.15114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.40813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.96411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.42709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.78405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.0319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.17359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.21932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.18924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.11179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.12224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.94374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.78836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.64604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.49774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.32848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.13516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.92704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.72235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.54386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.41251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.33607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.29361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.22498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.03827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.69102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.6991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.6376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.71634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.95781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.18419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.07774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.28134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.48715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.48419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.16517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.50441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.51919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.22734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.61564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.62906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.18234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.58146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.35213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.54189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.25372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.65501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.97179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.45475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.31829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.68179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.54671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.35502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.0143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.68272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.27786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -60.99453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.00543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.74613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.24772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.5977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.91507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.30708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.83027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.47521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.86789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.47109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.95467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.30755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.53007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.62587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.60454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.48846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.31403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.12224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.94378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.69844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.49139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.29403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.07965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.83567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.56646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.29044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.03547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.83099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.69274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.60166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.48935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.24769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.05056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.09315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.46909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.56, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.70964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.12601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.81295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.56609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.03846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.84081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.62985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.15824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.28644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.96616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.20596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.03042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.44699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.43128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.93266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.89305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.26755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.0395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.23096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.91453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.22778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.3783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.61991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.19266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.25099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.8233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.82667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.50539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.85206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.01964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.93677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.56662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.94019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.16336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.38488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.73844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.28915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.01273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.58867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.24213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.73601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.06445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.23429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.25159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.12572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.88214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.56767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.2904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.84447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.48846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.21016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.9706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.72846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.45817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.15602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.83804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.53461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.28033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.09479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.95705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.78983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.4738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.89852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.97569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.97749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.39631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.62716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -7.00699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.72669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.7784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.95832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.92219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.26861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.61923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.67527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.24326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.23215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.62819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.45853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.75737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.54585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.82752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.59284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.82528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.64237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.26636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.49127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.51212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.58654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.97078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.83814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.22869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.06193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.19772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.5012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.87482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.24977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.55657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.70631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.60449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.19461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.50362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.65419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.82649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.1842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.80343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.6442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.45846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.17244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.67456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.96582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.06155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.97152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.70564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.2937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.79589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.2904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.30682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.68745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.20808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.85884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.5902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.3439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.07817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.77852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.45693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.14486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.87936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.67963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.51927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.31295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.9378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.2922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.29701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.64603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.09607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.67575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.08045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.1444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.12684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.55985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.84567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.59299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.39418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.89129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.82391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.04655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.51586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.25933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.34118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.83563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.80919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.30729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.34428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.95924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.51508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.65419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.56287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.50838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.76471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.51831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.81047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.5532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.60054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.82189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.13349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.48068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.79753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -38.9832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.92067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.53216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.83737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.97244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.14712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.55509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.28434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.27959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.3779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.39168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.1858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.70735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.96364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.97866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.76652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.33866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.73071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -27.01897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.30682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.48494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.69388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.09747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.69096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.4155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.19495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.71023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.42555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.14687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.91215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.7377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.40924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.61816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.00594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.65439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.51541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.29141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.52763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.89086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.12409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.08687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.77047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.29927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.07428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.98952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.02577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.77546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.91529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.24612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.69336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.28097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.09783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.26601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.91067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.12918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.96537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.38886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.89284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.96892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.79437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.64675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.8181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.50631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.75055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.45138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.45354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.62848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.90624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.2488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.59839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.84782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.86217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.54437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.9049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.08765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.3245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.83318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.71167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.89211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.18119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.35728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.26115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.83118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.07774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.03136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.71017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.12809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.32795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.40349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.48494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.20763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.2839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.60327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.16892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.0839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.24734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.40038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.58449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.7988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.01159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.18459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.30414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.40635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.57776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.92011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.4895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.2404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.00558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.52237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.4906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.63526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.75059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.71867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.51414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.21272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.00772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.78443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.75554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.47867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.59305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.86071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.17838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.55819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.09828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.95123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.28658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.24558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.89974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.23506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.17913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.66902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.73182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.53266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.35253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.49363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.16041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.38986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.07417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.05085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.19277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.44164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.77603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.15072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.46071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.56305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.34819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.81734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.1137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.4772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.13631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.1938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.57475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.42834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.47776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.14324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.43239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.37755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.99935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.31476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.37409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.28699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.20763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.01079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.99204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.70109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.12419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.32628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.40981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.4691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.55897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.68556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.81876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.92027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.9767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 20.02158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.13028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.38279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.80946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.34814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.83702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.04584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.72805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.6685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.70916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.75378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.76862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.79689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.98605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.6051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.02369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.3534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.16907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.17369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.24337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.36944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.63921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.21199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.28125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.01971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.5238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.78739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.72736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.25844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.38407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.25176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.13202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.32125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.02063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.26582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.94861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.90691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.01659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.22748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.53146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.89862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.23659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.40894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.30531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.91999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.38563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.93128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.77755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.02426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.59707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.8362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.06322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.88002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.28433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.30361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.95801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.26711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.71298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.86221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.01079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.66045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.60501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.27735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.65148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.78528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.78278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.74678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.74242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.7834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.84325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.88439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.89094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.88769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.93212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.07952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.63778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.83296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.73201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.14144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.89993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.89171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.04458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.33038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.78164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.51933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.76931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.84505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.09334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.82678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.27513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.43177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.26212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.27701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.61983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.48459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.05812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.68281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.66009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.29314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.4323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.39293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.34587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.01988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.22845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.93635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.24242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.29824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.22152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.05837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.80956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.49024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.17145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.96821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.97788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.20855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.54635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.79083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.74714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.32628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.59494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.01884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.5986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.58323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.99073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.80537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.01138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.58848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.47867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.56031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.66045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.38008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.7721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.06784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.1286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.05031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.93526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.85366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.82615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.83194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.8356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.81731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.78918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.7874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.84267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.02402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.95277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.57715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.74966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.35392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.31138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.57765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.14337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.0485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.40297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.39563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.27681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.3166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.75835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.78836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.52566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.01825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.23539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.06433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.33149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.8559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.28799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.23966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.4583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.96812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.67446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.37614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.8426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.91122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.5468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.83121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.89672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.85053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.73744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.55725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.31408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.05453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.86268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.81239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.90877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.0599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.10377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.88212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.47889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.64572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.03981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.80388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.97358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.54912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.52256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.87569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.55362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.44272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.38008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.02289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.6389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.06857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.26491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.25591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.12134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.95375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.82169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.75029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.72544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.71559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.69744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.6699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.64801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.64029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.52673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.24361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.65051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.63652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.12111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.05857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.43455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.26615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.6101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.57296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.31107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.01339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.87252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.05836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.70545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.91037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.72589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.1457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.09128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.42249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.64914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.39258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.25496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.30684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.57447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.99129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.40354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.62894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.08462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.34265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.41611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.39805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.33224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.22147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.06372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.88372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.73338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.65917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.65913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.66103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.54133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.17981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.52134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.6105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.60422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.83945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.39121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.30995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.61176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.29781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.3542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.73329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.33694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.02289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.62988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.24611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.32812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.2547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.08482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.89362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.74081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.65181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.61818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.6134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.61257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.6037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.58397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.4486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.23147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.7994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.05313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.90924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.31521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.25353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.73871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.81467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.55541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.06495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.47061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.90805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.50391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.3654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.58006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.21849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.32858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.91813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.93782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.2838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.82877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.46958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.16394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.93266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.82392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.85974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.99669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.12587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.85546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.32262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.55768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.64344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.65633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.63706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.59197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.51659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.41924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.32457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.25378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.19623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.09435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.85665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.39601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.67411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.72749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.6615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.61715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.72991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.10057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.7884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.82142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.20869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.94131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.98101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.24896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.62988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.5078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.46638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.33289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.14465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.95485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.80828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.72548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.70085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.71255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.73605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.75229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.69329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.55368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.26183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.73617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.89483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.6746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.04452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.01005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.60964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.90849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 51.99228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.95987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.91344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.94706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.1387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.55003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.2328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.23404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.59127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.31693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.7141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.80775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.44045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.11764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.86588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.69963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.59213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.47182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.24715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.84521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.24152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.46441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.57342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.62714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.66015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.68019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.68179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.6622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.62591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.57425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.48848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.3209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 47.00408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.47714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.71641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.75399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.62037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.85294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.35078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.14822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.25939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.67981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.38084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.30355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.11842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.95223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.76126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.56385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.39058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.26815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.2079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.20336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.23557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.28128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.26378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.09673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.75886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.17738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.28336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.02873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.39894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.41675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.13728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.63834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.00953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.3414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.71544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.19665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.83166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.65353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.69029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.97036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.51927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.34758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.43779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.71365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.27569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.86372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.48711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.15255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.84422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.51916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.12074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.60242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.94758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.17403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.3215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.4309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.52778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.61797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.69442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.7469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.76625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.7398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.64277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.43434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.06482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.49366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.70992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.74448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.55416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.69512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.05311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.66353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.54259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.68933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.08407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.6862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.07123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.82336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.61547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.36283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.3278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.4498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.49413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.49769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.42606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.23283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.85903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.23953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.31597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.05237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.44672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.53345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.37669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.05817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.66438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.27537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.95646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.75422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.69773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.80468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.0892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.56655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.25113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.14842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.24598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.34399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.82782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.32736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.84076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.3688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.90272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.41996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.89029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.28852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.60598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.85364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.05549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.23621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.41055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.57929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.73207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.85295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.92364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.92249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.82136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.58521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.17835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.57668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.78074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.8226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.76279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.6787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.64969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.01493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.49339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.19622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.12524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.2687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.9361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.28989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.28698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.33586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.3895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.42328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.40867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.30999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.0817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.66893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.01379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.06748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.80452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.23265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.39335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.35328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.19132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.98606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.80615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.70458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.71691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.86364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.1556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.59982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.20307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.97103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.90362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.98981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.88632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.2861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.69765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.11369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.53184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.94807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.35332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.73546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.08466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.39866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.6842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.95346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.21749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.48006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.73484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.9665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.1537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.27178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.29374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.19055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.93324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.4984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.87629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.0781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.13848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.11156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.06207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.37928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.89025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.2771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.16987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.12512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.12494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.14872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.17371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.17461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.12197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 72.97979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.70392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.24346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.54725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.57539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.31198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.77269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.00276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.06703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.03736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 69.98195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.95827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.00957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.16465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.44009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.8442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.38091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.05215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.85786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.79383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.84924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.0057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.52359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.83695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.16359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.4953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.82912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.16417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.49943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.83346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.16572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.49789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.83384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.17752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.52955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.88413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.22744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.53822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.7898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.95253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.9963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.89316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.62088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.16766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.53679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.74918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.84237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.86571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.87348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.89032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.74236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.89025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.25129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.78265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.44524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.20042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.03456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.93149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.87274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.83781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.80403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.74589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.63344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.43057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.09422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.57656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.83202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.8286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.55917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.04616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.33661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.49117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.57277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.6385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.73521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.89798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.15059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.50739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.97573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.5584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.25516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.06309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.9761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.42529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.65538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.90482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.16718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.44044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.72573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 71.02584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.3442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.68433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.04924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.44051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.8567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.29151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.73211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.1585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.54395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.85678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.06321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.13119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.03481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.75887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.30247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.68041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.92181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.06636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.15918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.5591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.25082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.78139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.44544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.24551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.18146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.25129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 70.99731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.85347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.43198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.83907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.64059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.48592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.35634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.23067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.08427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.88766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.60505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.19416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.60911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.80844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.76687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.48535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 79.9923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.33545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.57002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.74928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.91929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.11692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.36978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.69703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.11082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.61778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.22035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.91782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.70686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.63003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.75118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.90769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.09246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.30165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.53465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.79345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.08176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.40394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.76394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.16414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.60413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.07937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.57988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.08917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.5837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.03321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.40233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.65392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.75421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.67907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.41942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.98363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.39577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.69088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.9094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.09218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.49681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.14104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.60061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.16661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.84528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.64024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.55321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58454, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58422.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56117.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54953.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53791.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51479.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50322.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46701, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43993.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40960.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39338.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37674.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36000.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34358.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32791.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30052.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28948.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28044.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27339.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26813.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26432.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26157.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25947.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25770.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25430.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25260.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25105.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24993.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24958.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25045.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26506.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27523.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28836.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30440, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32311.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34414.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39136.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41653.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44210.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46762.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49269.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51698.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56194.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58200.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60006.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61586.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63998.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64814.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65374, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65689.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65655.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65345.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64866.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64238.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62614.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61656.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60627.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59544.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58422.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56264.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55063.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53854.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52645, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51442.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49072.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47900.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46725.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45531.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44298.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43006.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41639.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40188, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37038.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33685.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30432.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28972, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27691.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26630.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25809.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24851, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24641.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24542.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24501.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24472.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24353.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24247, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24121.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23999.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23916.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24073.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24435.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25070.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26021.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27314.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28947.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33111.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38114.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43446.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46088.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48654.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51110, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53425, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55572.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57525.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59257.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60746.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63642.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64297.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64091.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63705.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63156.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62462.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60708.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59685.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58591.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57445.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56264.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53920.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52691.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51457.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49003, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47793.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44255.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43080.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41880.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40637.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39333, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37953.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36492.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34953.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33352.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31717.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30093.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28536.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27110.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25878.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24890.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24174.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23725.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23511, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23472.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23543.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23662.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23782, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23870.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23909.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23861.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23781.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23709.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24439.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25263.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26459.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29983.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32237.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40127.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42863.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48100.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50517.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52760.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54808.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59554.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60620.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61425.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61980.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62327.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61628, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60314.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59461.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58497.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57441.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55132.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53920.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50187.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48954.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46503.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45295.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42934.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41781, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39483.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37095.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35825.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31599.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30075, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27072.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25725, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23684.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23083.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22767.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22802.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23516.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23920.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24059, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24183.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24174.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24148.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24160.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24292.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24638.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25290.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26318.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27754.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29593.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34259.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36917.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39659.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42392.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49875.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51998.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53894.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55544.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56931.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58049.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58903, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59510.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60086.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60100.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59950, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59643.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59186.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58586.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57852.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56993.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56024.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54961.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52636.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47568.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46362.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43968.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42786.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41620.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38254.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36077.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34975.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30104.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27349.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26003.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24773.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23736.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22956.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22265.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22518.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22831.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23186.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23546.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23895.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24230.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24544.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24819.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25035.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25244.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25283, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25584.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26050.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26857.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28065.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29694.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34054.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36612.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39274.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41931.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44494.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46897.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49098.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52784, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56245.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57241.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57446.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57504.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57431.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57232.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56901.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56435.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55836.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55110.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54264.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52264.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49973.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46017.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44863.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43714.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42572.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41438.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40312.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39202.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38113.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37051.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36019.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35013.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34030.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33057.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31073.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30016.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27713.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26504.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25322.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24241.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23336.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22670.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22279.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22159, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22270.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22548.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23358.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23810.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24280.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24769.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25266.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25747.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26498.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26713.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26917.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27053.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27350.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27916.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28842.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31927.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34029.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38876.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41378.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43793, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46046.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48089.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49887.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51408.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52628.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53536.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54146.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54501.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54663.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54625, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54242.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53898.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53431.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52840, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52129.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51308, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48296.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46017.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42134, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40023.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38982.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37949.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36931.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35935.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34969, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34037.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33142.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32284.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31456.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30642.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28958.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28040.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27065.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26056, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25062, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23380.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22817.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22495.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22417.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22554.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22858.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23272.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23756.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24863.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25486.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26803.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27917, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28282.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28508.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28631.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28724.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28887.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29232.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30878.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32293.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36154.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38389.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40663.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42868.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44927.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46785.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48398.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49725.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50733.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51409.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51777, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51719.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51547.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50723.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50256.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49672.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48980, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47312.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46357, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45339.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44280.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40448.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39489, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37621.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36707.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35804.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34917.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34054.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32427.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31675.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30966.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30296.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29013.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28350, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26877.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26078.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24531.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23889.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23404.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23112.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23028, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23142.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23841.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24941.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27077.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27851.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28581.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30013.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30275, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30350.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30522.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30907.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32688.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34134.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37803.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39791, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41736.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43561.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45208.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46627.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47767.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49227.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48944, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48684.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48425.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47878, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47510.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47039.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45783.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45027.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44201.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42381, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41417.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40448.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37898.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37081, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36286.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34752.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34008.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33285.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32590.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31929.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31308, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30190.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29693.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28299.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27792.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27238.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26642, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25422.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24877.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24433.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23989.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24029.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24243.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24614.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26408.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27164.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27964, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28773.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29543.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30766.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31152, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31381, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31483.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31522.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31589.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31800, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32263.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33053.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34181.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37189.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38861.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40515.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42080.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43498.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44717.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46332.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46656.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46474.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46151.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45474.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45167.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44841, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44447.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43959.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42712.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41989.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41220.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40413.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39580, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38735.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37898.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35736.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35082.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34454.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33849.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33261.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32695.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32157.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31654.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31191.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30384.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30037.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29164.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28881.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28566.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28202.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27782.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27315, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26822.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26336.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25894.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25220.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25314.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25586.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26019.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26584, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27246.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28743.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29515, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30253.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30917.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31471.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31890.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32164, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32305.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32358.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32525.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32846.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33434.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34307, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35424.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38069.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40725.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41910.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42929.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43724, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44241.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43746, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43340.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42955.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41761.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39974.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39280.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38567.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37845.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37125.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35736.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33638.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32755.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32344.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31960.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31613.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31312.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31059.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30849.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30676.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30532.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30413.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30312.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30218.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30113, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29970.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29766.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29484.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29123.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28695.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27753.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27315.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26957, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26724.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26659, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26782, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27088.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28122.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28767.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29448, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30134.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30797.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31409.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32686.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32883.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32994.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33077, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33215.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33494.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33975.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36578.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37660.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38749.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39797.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40761.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42643.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42792, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42696.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41580.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41136.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40688.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40214.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39100.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38458.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37786.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37108.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36443.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35804.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35200.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32828.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32544.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32280.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32037, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31826.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31520.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31527, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31569.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31635, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31714.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31801.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31944.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31873, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31688.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31387.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30981.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30494.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29962.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29425.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28934.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28543, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28252, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29136.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30217.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30799.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31930.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32436.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32874.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33227.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33493.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33692.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33869.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34087.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34406.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34864.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35466.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37003, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38724.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41011.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41529.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41853.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41964, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41868.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41602.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41213.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40748.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40234.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39679.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39081.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38435.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37037.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36327.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35644.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35009.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34436.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33506.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32650.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32512, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32396, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32304.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32254.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32265.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32350.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32723.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32978, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33251.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33529.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33803.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34057.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34267.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34401.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34299.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34025.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33608.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33076.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32466, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31824.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30666.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30266.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30046.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30157.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30435.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30809.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31728.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33234.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33687.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34421.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34719.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35013.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35344.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35746, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36231.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36795.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37420.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38088, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39482.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40169, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40809.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41792.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42158.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42079.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41838.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40958.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40359.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38924.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37306.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36492.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35712.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34993.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34356.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33818.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33388.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33062.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33127.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33025.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33032.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33074.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33592.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34795.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35265.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36185.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36599.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36947.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37288.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36499.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35908.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35214.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34469.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33734.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33073.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32184.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32008.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32000.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32131.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32370.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32695.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33090.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34518.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34993.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35837.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36625.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37063.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37550.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38639.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39211, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40383.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40983.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41578.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42140.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43017.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43270.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43097.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42716.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42173.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40657.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39741.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38772.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37795.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36848.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35966.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35176.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34501.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33958, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33554.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33284.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33127.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33992.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34016.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34274.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34497.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34809, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35219.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35724.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36304.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36931.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37576.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38214.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38824.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39848.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40184.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40347.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39569.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38924, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38153.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37318.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36488.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35731.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35103.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34641.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34354.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34241.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34369, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34599, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34923.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35330.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36297.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36794.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37271.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37726.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39166.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40281.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40846.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41942.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44153, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45024.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45293.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45422.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45394.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44211.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43427, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42475, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41402.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40266.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38034.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37030, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35397.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34809.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34385.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34120.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33992.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35354.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35441.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35611.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35860.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36199.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36640.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37187.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38556.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39326.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40112.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40886.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41623.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42853.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43264.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42726.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41216.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40315.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39414.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38585.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37884.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37346.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36760.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36679.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36869.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37131.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37496.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37943.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38436.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38942.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39439, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39923, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40410.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40921.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41467.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42042.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42627.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44313.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44869.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45442.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46024.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46591.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47108.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47538.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47850.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48020.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47838.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46804, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44888.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43689.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42414.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41133.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38781.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37789.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36956.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35817.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35514.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37224.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37497, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38258.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38810.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39473.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40234.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41941.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42826.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44511.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45871, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46580.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46592.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45864.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45166.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43375.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42431.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41553.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40797.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39754.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39461.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39263.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39344.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39545.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41718.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42205.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43211.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43757.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44332.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44923, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46101.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46693.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47301, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47930.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48572.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49202.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49782.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50275, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50645.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50864.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50901.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50728, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48750.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47629.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46349.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44983.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43606.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39981.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39065.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37415, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37224.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39453.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39777.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40154, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41300.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42049.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42889.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43792.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44727.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45662.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47420.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48181.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49285.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49570.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48866.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48177.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47328.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46386.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45427.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44521.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43067.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42558.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42192.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41957.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41855.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41988.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43001.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43452.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43915, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44380.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44854.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45350.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45878.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46441.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47032.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47645.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48937, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50338.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51065.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52431.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52992.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53685.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53751, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53590.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53179.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52508.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51586.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50445.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47747.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46334, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43702, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42571.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40805.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40194, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42118.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42190.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42431.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42831.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43379.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44059.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46646.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48524.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49420.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50250.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50984.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51589.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52031, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52273.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52289.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52066.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50949.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50129.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49213.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48269.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47360.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46537.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44826.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44516.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44321.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44493.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44762.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45103.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45490.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45901.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46326.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46768.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47744.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48295.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48894.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49538.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50228.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50963.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51740.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53362.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54152.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55499.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56359.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56211.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54247.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53134.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51866.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50508.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47786.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46534.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42967.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42503.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45089.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45144.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45372.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45764, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46305.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46975.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47749.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48596.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49484.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50383, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51262.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52095.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52856.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53519.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54436.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54626.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53970.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53350.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50817.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49931.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49107.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48377.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47759.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46880.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46620.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46478.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46452.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46536.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46714.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47276.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47622.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47997.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48402.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49338.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49889.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50503.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51931.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52737.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53592.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54477.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55362.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56212.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56986.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57645, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58148.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58465.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58566.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58432.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58053.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56584.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54369.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53109.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50574.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49399.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48332.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47396.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46606.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45973.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48193.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48775.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49261.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49865.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50562, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51321.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52114.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52911, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53684.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55062.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55621, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56061.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56360.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56497.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56457.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56232.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55261.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54564.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53777.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52944.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52110.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51314.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50587, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49947.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49408.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48438.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48331.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48327, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48413.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48804.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49779.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50691.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51249, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51883.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52596.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54239.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56985.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57858, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58646.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59312.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59820.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60253.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60142, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59803.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59247, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58492.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57573.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56534.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53184.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52138.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50339.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49621.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48601.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51308.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51186.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51199.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51347.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51622.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52013.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52502.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53069.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53688.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54334.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55608.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57140, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57469.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57753, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57680.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57089.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56589.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55979.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55288.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53065.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52376.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51751.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51205.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50382.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50114.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49862.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49869.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49955.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50111, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50612.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50956.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52413.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53059, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53785.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54585.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56349.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58166.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59015.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59776.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60906.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61220.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61265.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60989.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60526.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59897.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59132.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58268.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57344.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56400.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55474.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54594.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53068, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52451.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51947.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51308.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53923.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53784.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53869.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54051.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54668.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55073.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55520.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55989.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56460.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56913.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57332.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57699.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57998.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58215.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58256.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58044.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57721.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56785.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56207.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55585.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54943.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53693.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53123.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52610.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52164.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51794.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51503.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51294.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51168.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51151.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51255.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51432, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51998.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52393.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52865.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53417.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54047.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55519.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56337.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57185.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58037.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58866.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59643, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60336.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60919.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61369.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61667.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61802.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61575.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60747.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60159.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59490.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58772.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58035.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57307.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56610.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55965.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54469.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54147.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53923.5, 145 + 500);
}
